export class Debug
{
    static SetIgnores(ignores)
    {
        Debug.ignores = ignores;
    }
    static Log(msg, tag = "Default")
    {
        if (Debug.ignores.indexOf(tag) == -1)
        {
            var data = Debug.AddTag(msg, tag);
            console.log(...data);
        }
    }
    static Error(msg, tag = "Default")
    {
        if (Debug.ignores.indexOf(tag) == -1)
        {
            var data = Debug.AddTag(msg, tag);
            console.error(...data);
        }
    }
    static Warn(msg, tag = "Default")
    {
        if (Debug.ignores.indexOf(tag) == -1)
        {
            var data = Debug.AddTag(msg, tag);
            console.warn(...data);
        }
    }
    static AddTag(msg, tag)
    {
        var data = [];
        if (typeof msg == "string")
            data.push(`[${tag}]  ${msg}`);
        else
        {
            data.push(`[${tag}]`);
            data.push(msg);
        }
        return data;
    }
}
Debug.ignores = [];